package lab03.test09;


import java.io.*;
import java.util.ArrayList;
import java.util.List;

public class Client {
    //    9、	建立一个书籍信息的文本文件，其中包括编号、书籍名称、版本、价格、销售额字段及5本书籍的记录。编写程序读入书籍信息文件并将第3本、第4本书籍价格分别增加20和30，再将修改后的书籍信息文件输出到另一个文本文件中（文件名称为book.txt）。  文本文件book.txt内容如下：
//
//    表3-1 书籍基本信息表
//    编号	名称	版本	价格	销售额
//1001	Java程序设计	第2版	56.9	560
//            1002	Java开发实战	第1版	98.9	820
//            1003	C++程序设计指南	第3版	62.5	362
//            1004	EJB3.0入门经典	第1版	59.8	1280
//            1005	Spring3.0 in Action	第
// 3版	95.8	1189




    //单步调试
    //小红点：断点
    //bug执行，按f8继续执行
    public static void main(String[] args) {
        List<Book> books = new ArrayList<Book>();
        String path = "E:\\book.txt";
        String path1 = "E:\\book1.txt";
        BufferedReader reader = null;
        BufferedWriter writer = null;

        try {
            reader = new BufferedReader(new FileReader(path));
            String line = null;
            while ((line = reader.readLine()) != null){
                String[] tokens = line.split("\t");

                Book book = new Book();
                book.bookNo = Integer.parseInt(tokens[0]);
                book.bookName = tokens[1];
                book.version = tokens[2];
                book.price = Double.parseDouble(tokens[3]);
                book.sales = Double.parseDouble(tokens[4]);

                books.add(book);

//                System.out.println(line);
            }

            int i =1;
            for (Book b: books){
                if (i == 3){
                    b.price += 20;
                }
                if (i ==4){
                    b.price += 30;
                }
                i++;
            }


            //将书的信息写入文件
            writer = new BufferedWriter(new FileWriter(path1));

            for (Book b : books){
                writer.write(
                        b.bookName + " " +
                                b.bookNo + " " +
                                b.version + " " +
                                b.bookNo + " " +
                                b.sales);
            }

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
//                Writer:NullPointerException
                writer.close();
                reader.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

}
